#ifndef GENERICSINGLECHOICELIST_H
#define GENERICSINGLECHOICELIST_H

#include <wx/sizer.h>
#include <wx/panel.h>
#include <wx/stattext.h>
#include <wx/listbox.h>

class wxArrayString;
class wxString;

class GenericSingleChoiceList: public wxPanel {
  public:

    GenericSingleChoiceList( wxWindow* parent, wxWindowID id = -1 );
    virtual ~GenericSingleChoiceList();

    void SetChoices( const wxArrayString& choices, int defChoice );
    int GetChoice() const { return GenericChoiceList->GetSelection(); }
    void SetChoice( int choice ) { GenericChoiceList->SetSelection( choice ); }
    void SetDescription( const wxString& descr ) {
      lblDescr->SetLabel( descr );
      GetSizer()->Fit( this );
      GetSizer()->SetSizeHints( this );
    }

    static const long ID_STATICTEXT1;
    static const long ID_LISTBOX1;
  protected:
    wxListBox* GenericChoiceList;
    wxStaticText* lblDescr;
  private:

    DECLARE_EVENT_TABLE()
};

#endif
